//package com.cn.zengzeng.spbzengzeng.interceptor;
//
//import org.apache.commons.lang3.RandomStringUtils;
//import org.apache.commons.lang3.StringUtils;
//import org.slf4j.MDC;
//import org.springframework.web.servlet.HandlerInterceptor;
//import org.springframework.web.servlet.ModelAndView;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
///**
// * @Author: ZhangZengZeng
// * @Date: 2023/3/31 16:28
// */
//public class LogInterceptor implements HandlerInterceptor {
//
//    private static final String TRACE_ID = "TRACE_ID";
//
//    /**
//     * 前置拦截器
//     * @author freedom
//     * @date 2022/12/28 17:43
//     * @param request 请求
//     * @param response 响应
//     * @param handler 处理器
//     * @return {@link boolean}
//     */
//    @Override
//    public boolean preHandle(HttpServletRequest request,HttpServletResponse response,Object handler) throws Exception {
//        String tid = RandomStringUtils.randomAlphanumeric(8);
//        if(!StringUtils.isEmpty(request.getHeader(TRACE_ID))){
//            tid=request.getHeader(TRACE_ID);
//        }
//        //利用MDC将请求存储
//        MDC.put(TRACE_ID,tid);
//        return true;
//    }
//
//    /**
//     * 后置处理器
//     * @author freedom
//     * @date 2022/12/28 17:43
//     * @param request 请求
//     * @param response 响应
//     * @param handler 处理器
//     * @param ex  异常
//     */
//    @Override
//    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
//        MDC.remove(TRACE_ID);
//    }
//
//    @Override
//    public void postHandle (HttpServletRequest request,HttpServletResponse response,Object handler,ModelAndView modelAndView) throws Exception {
//
//    }
//}
